<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Permiso_exe( $this );
	class Permiso_exe extends Exe
	{
	function Permiso_exe( &$oModule )
		{
			$this->oModule = &$oModule;
			$this->oDatabase = openMetadataDB ( getParam('cPathModule') );
		}
	// ASIGNAR_PERMISOS
	function update()
		{
      // Convierte a variables los datos del Formulario asociado a la accion
      $oForm = $this->oModule->loadClass( 'Permiso_frm' );
      extract( $oForm->getFieldArray() );
			if ( $ncAccion ) 
			{
				$bExito = $this->oDatabase->delete("stPermiso", "ncAccion", $ncAccion );
				$aActores = $oForm->aFields['aActores']->getValue();
				foreach ( $aActores as $ncActor ) 
				{
					$this->oDatabase->insert("stPermiso", "ncAccion", $ncAccion, "ncActor", (int)$ncActor  );
				}
			}else 
			{
				if ( $ncActor ) 
				{
					$bExito = $this->oDatabase->delete("stPermiso", "ncActor", $ncActor );
					$aAcciones = $oForm->aFields['aAcciones']->getValue();
					foreach ( $aAcciones as $ncAccion ) 
					{
						$this->oDatabase->insert("stPermiso", "ncAccion", $ncAccion, "ncActor", (int) $ncActor  );
					}
				}			
			}
			addMessage ('Los permisos fueron actualizados');
			//$oForm->reset();
		}
	}
?>
